Field of the Invention
The present invention relates to a technique for controlling a moving object using simultaneous localization and mapping (SLAM).
Description of the Background Art
Using simultaneous localization and mapping (SLAM), a moving object, such as an autonomous robot, estimates its position and simultaneously generates an environmental map while moving autonomously.
A robot (moving object) that moves autonomously with SLAM generates an environmental map around the robot using observation data obtained with a sensor mounted on the robot and using inputs for controlling the robot, while estimating the position and the posture of the robot in the generated environmental map. More specifically, the robot estimates its position and posture Xt (or X1:t={X1, X2, . . . , Xt}) and an environmental map m using a control input sequence U1:t={U1, U2, . . . , Ut} and an observation sequence Z1:t={Z1, Z2, . . . , Zt} in the state space model where the robot follows the system model xt˜g (xt|xt-1, Ut) (Ut is a control input) and the observation follows the observation model Zt˜h (Zt|xt, m) (m is an environmental map).
Techniques have been developed to estimate the posture of a robot with high accuracy using particle filters (e.g., Japanese Unexamined Patent Application Publication No. 2008-126401, or Patent Literature 1).
A sensor used to obtain observation data may typically be an RGB camera incorporating a visible light image sensor, or a range finder that obtains distance information using infrared light or laser light. Two or more different sensors may be used in combination to obtain observation data.
A robot (moving object) that moves autonomously with SLAM typically generates a topological environmental map, instead of generating a geometric environmental map. The environmental map is obtained using, for example, information about landmarks. In this case, the environmental map contains a plurality of sets of landmark information. Each landmark has parameters including variance-covariance matrices expressing (1) positional information about the landmark and (2) the uncertainty of positional information about the landmark.
When the robot that moves autonomously with SLAM incorporates an RGB camera as its sensor, the robot uses, as landmarks, points or lines with features or objects with distinguishable markers. The robot detects (identifies) an image area corresponding to a landmark in an image captured by the RGB camera to obtain information about the landmark. In this case, the actual position of the robot relative to the actual position of the landmark is determined using the image obtained by the RGB camera, and observation data at the current time is obtained based on the identification result.
To determine the position of a landmark in an image obtained by the RGB camera, the above technique involves searching of the entire image to detect a landmark. This increases the amount of processing to identify the landmark position, and thus increases the processing time. The longer processing time taken to identify the position of a landmark increases the interval at which the estimation result is updated in the autonomous robot. This may cause a larger error between the actual posture of the robot and the estimate, and may disable the robot (moving object) from moving autonomously in a stable manner.
In response to the above problems, it is an object of the present invention to provide a moving object controller, a program, and an integrated circuit for controlling a moving object in an appropriate manner by generating an environmental map efficiently and performing a highly accurate state estimate process in a short period of time.